<?php

class Browser
{
	static function redirectToUrl($url, $response = 302)
	{
		header("Location: ".$url, TRUE, $response);
		exit();
	}
	
	static function getSubdomain()
	{
		static $subdomain = null;
		if ($subdomain == null)
		{
			$subdomain = explode(".", $_SERVER["HTTP_HOST"]);
			$size = sizeof($subdomain);
			if ($size >= 3)
				$subdomain = $subdomain[$size - 3];
			else
				$subdomain = "";
		}

		return $subdomain;
	}

	static function getDomain()
	{
		static $domain = null;
		if ($domain == null)
		{
			$domain = explode(".", $_SERVER["HTTP_HOST"]);
			$size = sizeof($domain);
			$domain = $domain[$size - 2].".".$domain[$size - 1];
		}

		return $domain;
	}

	static function getDirectory()
	{
		static $directory = null;
		if ($directory == null)
		{
			$directory = $_SERVER["REQUEST_URI"];
			$directory = substr($directory, 0, strrpos($directory, "/") + 1);
		}

		return $directory;
	}
	
	static function getFile()
	{
		static $file = null;
		if ($file == null)
		{
			$file = $_SERVER["REQUEST_URI"];
			$file = substr($file, strrpos($file, '/') + 1);
		}
		
		return $file;
	}
	
	/**
	 * Convierte una variable pasada por URL a una variable normal, en realidad
	 * lo que hace es quitar los magic quotes que se ponen por defecto, solo lo hace
	 * si realmente se añadieron por culpa del php
	 *
	 * @param Valor a traducir
	 * @return Valor traducido
	 */
	static function convertUrl2Var($value)
	{
		if (is_array($value))
		{
			$new_value = array();
			foreach ($value as $key => $val)
				$new_value[$key] = Browser::convertUrl2Var($val);
	
			return $new_value;
		}
	
		if (get_magic_quotes_gpc())
			return stripslashes($value);
	
		return $value;
	}
	
	/**
	 * Search a parameter
	 * @param string $param
	 * @param int $type: 1 GET (url), 2 POST (form), 4 Module (htaccess)
	 * @return string
	 */
	static function getUrlParameter($param, $type = -1)
	{
		if ($type & 0x4)
			if (isset($_GET[$param]))
				return $_GET[$param];
	
		if ($type & 0x2)
			if (isset($_POST[$param]))
				return Browser::convertUrl2Var($_POST[$param]);
	
		if ($type & 0x1)
		{
			$arr = @parse_url($_SERVER["REQUEST_URI"]);
			if (isset($arr["query"]))
			{
				parse_str($arr["query"], $output);
				if (isset($output[$param]))
				{
					$content = $output[$param];
					if ($content)
						return Browser::convertUrl2Var($content);
				}
			}
		}
	
		return null;
	}
}
?>